//
//  Interface.h
//  Dungeons and Princesses
//
//  Created by John Grange on 10/22/11.
//  Copyright (c) 2011 SD Networks. All rights reserved.
//
//  Base Interface class for both text and gui

#ifndef Dungeons_and_Princesses_Interface_h
#define Dungeons_and_Princesses_Interface_h

#include "Game.h"

class Interface {
    
private:
    
protected:
    
   
    static const std::string VERSION;
    static const std::string WELCOMEMSG;
    
    Game * gamePtr;
    
    
public:
    
    Interface(Game *ptrToCurrentGame);
    
    //void setGameDelegate(Game *ptrToCurrentGame);
    
    virtual void update(string errorMSG = "") = 0;
    
    virtual void showRoomInventory() = 0;
    
    virtual void setupPlayer() = 0;
    
    virtual void getResponse(std::string prompt, std::string &response) = 0;
    
    virtual void showPlayerInventory() = 0;
    
    virtual void showHelp(vector<std::string> * helpFile) = 0;
    
    virtual void loadInterface() = 0;
    // NOTE This should not continue the loop!
    //virtual void displayMsg(std::string msgToDisplay) = 0;
};


#endif
